Skip to content

Latest commit

 

History

History
1099 lines (1008 loc) · 225 KB

File metadata and controls

1099 lines (1008 loc) · 225 KB

Metrics

Home

Static metrics are calculated from target-specific preprocessed MiniLang files inside the configured source roots. External imported modules, generated documentation, and excluded paths are not measured.

Project summary

Metric Value
Blank lines 937
Clone groups 18
Cognitive complexity 2666 (maximum per function: 136)
Comment lines 3156
Cyclomatic complexity 2575 (average: 3.51, maximum: 52)
Documentation coverage 97.21% (2895 of 2978 documentation items)
Duplicated lines 136 (1.75%)
Files 26
Functions 734
Maintainability index 4.77 / 100
Physical lines 11854
Source lines 7761
Statements 5808

Documentation coverage

Coverage is split by documentation contract so strong API summaries cannot hide undocumented parameters or data members.

Category Documented Total Coverage
API declarations 805 805 100%
Constants 67 92 72.83%
Enum variants 0 0 100%
Fields 364 414 87.92%
Globals 11 19 57.89%
Overall 2895 2978 97.21%
Parameters 1648 1648 100%

Halstead metrics

Distinct operators Distinct operands Total operators Total operands Vocabulary Length Volume Difficulty Effort Estimated defects
52 2672 35306 27310 2724 62616 714543.17 265.74 189883429.91 238.18

Files

File SLOC Functions Cyclomatic total / avg / max Cognitive total / max Duplication Halstead volume MI
src/minipixels.ml 418 118 214 / 1.81 / 27 123 / 44 0 (0%) 38263.2 0
src/minipixels/animation/animation.ml 108 17 36 / 2.12 / 10 27 / 16 0 (0%) 4060.52 25.53
src/minipixels/assets/assets.ml 122 16 36 / 2.25 / 5 21 / 4 0 (0%) 5376.9 23.52
src/minipixels/assets/pack.ml 676 25 241 / 9.64 / 52 295 / 65 38 (5.62%) 43755.87 0
src/minipixels/assets/png.ml 574 32 216 / 6.75 / 41 343 / 84 0 (0%) 43012.47 0
src/minipixels/assets/text.ml 111 13 45 / 3.46 / 16 39 / 19 0 (0%) 6245.68 22.75
src/minipixels/audio/audio.ml 754 79 242 / 3.06 / 24 200 / 28 14 (1.86%) 46431.66 0
src/minipixels/collision/collision.ml 67 7 19 / 2.71 / 8 17 / 12 0 (0%) 3296.15 32.98
src/minipixels/core/time.ml 41 4 8 / 2 / 4 4 / 3 0 (0%) 1201.07 42.18
src/minipixels/debug/debug.ml 47 4 16 / 4 / 10 13 / 9 0 (0%) 4365.48 35.89
src/minipixels/graphics/canvas.ml 665 61 205 / 3.36 / 19 204 / 31 16 (2.41%) 51284.52 0
src/minipixels/graphics/font.ml 88 5 58 / 11.6 / 43 59 / 42 0 (0%) 5226.68 23.75
src/minipixels/graphics/gpu.ml 186 24 60 / 2.5 / 8 39 / 9 0 (0%) 13639.37 13.47
src/minipixels/graphics/sprite.ml 144 13 46 / 3.54 / 12 37 / 11 0 (0%) 7847 19.46
src/minipixels/input/input.ml 283 27 69 / 2.56 / 11 45 / 10 0 (0%) 13982.41 8.21
src/minipixels/math/types.ml 242 48 80 / 1.67 / 13 33 / 12 0 (0%) 12414.68 8.57
src/minipixels/platform/linux.ml 449 33 156 / 4.73 / 27 142 / 32 13 (2.9%) 33516.94 0
src/minipixels/platform/windows.ml 650 49 147 / 3 / 9 114 / 13 13 (2%) 41396.51 0
src/minipixels/scene/scene.ml 199 24 66 / 2.75 / 9 49 / 12 0 (0%) 10519.19 12.81
src/minipixels/tools/fsutil.ml 61 7 34 / 4.86 / 7 31 / 7 8 (13.11%) 3453.67 31.71
src/minipixels/tools/generator.ml 1015 53 288 / 5.43 / 49 501 / 136 12 (1.18%) 77250.53 0
src/minipixels/tools/json.ml 310 32 119 / 3.72 / 18 132 / 46 14 (4.52%) 15496.08 0.31
src/minipixels/tools/manifest.ml 270 20 103 / 5.15 / 31 104 / 38 8 (2.96%) 15513.78 3.77
src/minipixels/world/camera.ml 52 9 12 / 1.33 / 4 3 / 3 0 (0%) 1907.85 37.98
src/minipixels/world/entity.ml 20 1 1 / 1 / 1 0 / 0 0 (0%) 366.3 53.53
src/minipixels/world/tilemap.ml 209 13 58 / 4.46 / 25 91 / 56 0 (0%) 10693.07 13.38

Functions

Function Location LOC Statements Cyclomatic Cognitive Max nesting Halstead volume MI
minipixels.activeRenderer src/minipixels.ml:342 5 5 4 3 1 193.26 68.21
minipixels.animation src/minipixels.ml:515 1 1 1 0 0 46.51 88.19
minipixels.animation.animation.addFrame src/minipixels/animation/animation.ml:92 8 8 3 2 1 326.9 62.29
minipixels.animation.animation.Animation.addFrame src/minipixels/animation/animation.ml:33 3 1 1 0 0 88.81 75.81
minipixels.animation.animation.Animation.currentSprite src/minipixels/animation/animation.ml:76 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.pause src/minipixels/animation/animation.ml:53 3 1 1 0 0 36.54 78.52
minipixels.animation.animation.Animation.play src/minipixels/animation/animation.ml:38 3 1 1 0 0 36.54 78.52
minipixels.animation.animation.Animation.reset src/minipixels/animation/animation.ml:48 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.setLooping src/minipixels/animation/animation.ml:59 3 1 1 0 0 39.86 78.25
minipixels.animation.animation.Animation.setPingPong src/minipixels/animation/animation.ml:65 3 1 1 0 0 39.86 78.25
minipixels.animation.animation.Animation.stop src/minipixels/animation/animation.ml:43 3 1 1 0 0 56.47 77.19
minipixels.animation.animation.Animation.update src/minipixels/animation/animation.ml:71 3 1 1 0 0 71.7 76.47
minipixels.animation.animation.create src/minipixels/animation/animation.ml:83 4 3 2 1 1 210.83 70.33
minipixels.animation.animation.currentSprite src/minipixels/animation/animation.ml:118 4 3 2 1 1 112.59 72.23
minipixels.animation.animation.fromSheet src/minipixels/animation/animation.ml:169 10 8 3 2 1 277.33 60.68
minipixels.animation.animation.reset src/minipixels/animation/animation.ml:103 5 3 1 0 0 81.41 71.24
minipixels.animation.animation.stepForward src/minipixels/animation/animation.ml:125 24 21 10 16 3 817.25 48.15
minipixels.animation.animation.stop src/minipixels/animation/animation.ml:111 4 2 1 0 0 55.35 74.53
minipixels.animation.animation.update src/minipixels/animation/animation.ml:154 9 8 5 5 2 428.77 60.08
minipixels.animationFromSheet src/minipixels.ml:521 1 1 1 0 0 98.99 85.89
minipixels.assetKindFromPack src/minipixels.ml:467 1 1 1 0 0 64.53 87.19
minipixels.assetKindFromPackSlot src/minipixels.ml:471 1 1 1 0 0 64.53 87.19
minipixels.assetPackStats src/minipixels.ml:509 1 1 1 0 0 46.51 88.19
minipixels.assets.assets.add src/minipixels/assets/assets.ml:126 8 7 2 1 1 250.77 63.23
minipixels.assets.assets.addLazy src/minipixels/assets/assets.ml:139 9 9 3 2 1 317.29 61.27
minipixels.assets.assets.AssetRegistry.add src/minipixels/assets/assets.ml:29 3 1 1 0 0 88.81 75.81
minipixels.assets.assets.AssetRegistry.addLazy src/minipixels/assets/assets.ml:36 3 1 1 0 0 88.81 75.81
minipixels.assets.assets.AssetRegistry.get src/minipixels/assets/assets.ml:42 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.AssetRegistry.getSprite src/minipixels/assets/assets.ml:48 3 1 1 0 0 74.01 76.37
minipixels.assets.assets.AssetRegistry.has src/minipixels/assets/assets.ml:54 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.AssetRegistry.unload src/minipixels/assets/assets.ml:60 3 1 1 0 0 71.7 76.47
minipixels.assets.assets.create src/minipixels/assets/assets.ml:67 7 3 3 2 1 317.29 63.65
minipixels.assets.assets.ensureCapacity src/minipixels/assets/assets.ml:77 17 16 2 1 1 662.76 53.13
minipixels.assets.assets.ensureSlot src/minipixels/assets/assets.ml:108 13 13 4 3 1 506.65 56.22
minipixels.assets.assets.get src/minipixels/assets/assets.ml:159 14 14 5 4 1 485.78 55.52
minipixels.assets.assets.has src/minipixels/assets/assets.ml:152 3 1 1 0 0 64.53 76.79
minipixels.assets.assets.slotOf src/minipixels/assets/assets.ml:98 6 6 3 2 1 209.59 66.37
minipixels.assets.assets.unload src/minipixels/assets/assets.ml:177 7 6 3 2 1 269.21 64.15
minipixels.assets.assets.unloadAll src/minipixels/assets/assets.ml:187 9 6 4 4 2 288.44 61.42
minipixels.assets.pack._decodePayload src/minipixels/assets/pack.ml:181 3 1 1 0 0 99.91 75.46
minipixels.assets.pack._decodePayloadRange src/minipixels/assets/pack.ml:130 48 51 32 41 3 2852.93 34.83
minipixels.assets.pack._openFile1 src/minipixels/assets/pack.ml:196 119 94 36 54 3 5886.22 23.49
minipixels.assets.pack._openProtected3 src/minipixels/assets/pack.ml:342 158 135 52 65 4 9453.83 17.21
minipixels.assets.pack._readRange src/minipixels/assets/pack.ml:331 7 7 4 3 1 330.34 63.39
minipixels.assets.pack._readU64LE src/minipixels/assets/pack.ml:187 6 5 3 2 1 271.03 65.59
minipixels.assets.pack.clearCache src/minipixels/assets/pack.ml:788 12 9 4 4 2 372.92 57.91
minipixels.assets.pack.close src/minipixels/assets/pack.ml:810 15 14 4 4 2 432.36 55.35
minipixels.assets.pack.dropPayloadAt src/minipixels/assets/pack.ml:766 7 6 6 5 1 408.6 62.47
minipixels.assets.pack.find src/minipixels/assets/pack.ml:539 7 8 4 3 1 275.1 63.95
minipixels.assets.pack.getBytes src/minipixels/assets/pack.ml:710 5 4 2 1 1 164.23 68.97
minipixels.assets.pack.getBytesAt src/minipixels/assets/pack.ml:550 41 42 17 20 2 2739.45 38.46
minipixels.assets.pack.getKind src/minipixels/assets/pack.ml:719 5 4 2 1 1 151.62 69.21
minipixels.assets.pack.getKindAt src/minipixels/assets/pack.ml:728 4 3 5 4 1 221.14 69.78
minipixels.assets.pack.hasRange src/minipixels/assets/pack.ml:116 3 1 1 0 0 148.68 74.25
minipixels.assets.pack.isPack src/minipixels/assets/pack.ml:122 4 3 2 1 1 235.02 70
minipixels.assets.pack.loadPng src/minipixels/assets/pack.ml:757 5 4 2 1 1 164.23 68.97
minipixels.assets.pack.loadPngAt src/minipixels/assets/pack.ml:736 17 15 8 7 1 791.62 51.79
minipixels.assets.pack.open src/minipixels/assets/pack.ml:318 10 8 3 2 1 293.44 60.5
minipixels.assets.pack.openProtected src/minipixels/assets/pack.ml:507 28 22 13 12 1 1201.55 45.12
minipixels.assets.pack.packError src/minipixels/assets/pack.ml:108 3 1 1 0 0 46.51 77.78
minipixels.assets.pack.preloadAll src/minipixels/assets/pack.ml:696 10 7 4 4 2 346.79 59.86
minipixels.assets.pack.preloadSlots src/minipixels/assets/pack.ml:599 89 84 31 59 5 5061.68 27.37
minipixels.assets.pack.stats src/minipixels/assets/pack.ml:803 4 3 2 1 1 394.66 68.42
minipixels.assets.pack.unload src/minipixels/assets/pack.ml:777 8 7 2 1 1 229.25 63.5
minipixels.assets.png._inflateZlibPortable src/minipixels/assets/png.ml:309 72 76 34 84 6 4242.15 29.51
minipixels.assets.png.adler32 src/minipixels/assets/png.ml:295 9 6 2 1 1 255.41 62.06
minipixels.assets.png.alignBits src/minipixels/assets/png.ml:126 4 2 1 0 0 58.81 74.34
minipixels.assets.png.buildHuffman src/minipixels/assets/png.ml:133 28 24 10 12 2 1208.59 45.5
minipixels.assets.png.chunkIs src/minipixels/assets/png.ml:98 4 3 2 1 1 332.84 68.94
minipixels.assets.png.decode src/minipixels/assets/png.ml:562 76 92 41 54 3 5166.78 27.46
minipixels.assets.png.decodeSymbol src/minipixels/assets/png.ml:165 21 20 7 10 3 723.27 50.19
minipixels.assets.png.distanceBase src/minipixels/assets/png.ml:281 4 2 1 0 0 404.42 68.48
minipixels.assets.png.distanceExtra src/minipixels/assets/png.ml:288 4 2 1 0 0 352.53 68.9
minipixels.assets.png.dynamicTables src/minipixels/assets/png.ml:210 54 50 16 33 5 2591.99 36.16
minipixels.assets.png.encodeChunk src/minipixels/assets/png.ml:675 8 6 1 0 0 357.58 62.29
minipixels.assets.png.encodeRgba src/minipixels/assets/png.ml:688 40 40 9 8 1 2227.34 40.4
minipixels.assets.png.encodeStoredZlib src/minipixels/assets/png.ml:649 22 23 6 8 2 1044.39 48.77
minipixels.assets.png.fixedDistanceTable src/minipixels/assets/png.ml:201 6 5 2 1 1 125.1 68.07
minipixels.assets.png.fixedLiteralTable src/minipixels/assets/png.ml:188 11 14 6 5 1 452.78 57.88
minipixels.assets.png.hasRange src/minipixels/assets/png.ml:65 3 1 1 0 0 148.68 74.25
minipixels.assets.png.inflateStored src/minipixels/assets/png.ml:408 21 23 7 10 2 1081.9 48.97
minipixels.assets.png.inflateZlib src/minipixels/assets/png.ml:401 4 3 2 1 1 161.42 71.14
minipixels.assets.png.inflateZlibRange src/minipixels/assets/png.ml:389 8 9 6 5 1 495 60.63
minipixels.assets.png.integerCeilDivide src/minipixels/assets/png.ml:79 4 2 1 0 0 89.86 73.05
minipixels.assets.png.integerDivide src/minipixels/assets/png.ml:72 3 1 1 0 0 75.28 76.32
minipixels.assets.png.isPng src/minipixels/assets/png.ml:86 4 3 2 1 1 393.46 68.43
minipixels.assets.png.lengthBase src/minipixels/assets/png.ml:267 4 2 1 0 0 391.1 68.58
minipixels.assets.png.lengthExtra src/minipixels/assets/png.ml:274 4 2 1 0 0 304.4 69.34
minipixels.assets.png.load src/minipixels/assets/png.ml:641 5 4 2 1 1 194.51 68.46
minipixels.assets.png.paeth src/minipixels/assets/png.ml:434 12 15 7 6 1 420.69 57.14
minipixels.assets.png.paletteIndex src/minipixels/assets/png.ml:483 7 6 2 1 1 387.64 63.17
minipixels.assets.png.pngError src/minipixels/assets/png.ml:57 3 1 1 0 0 46.51 77.78
minipixels.assets.png.readBits src/minipixels/assets/png.ml:106 17 14 4 4 2 645.97 52.94
minipixels.assets.png.saveRgba src/minipixels/assets/png.ml:734 5 4 2 1 1 196.21 68.43
minipixels.assets.png.toRgba src/minipixels/assets/png.ml:499 59 55 24 68 7 2832 33.97
minipixels.assets.png.unfilter src/minipixels/assets/png.ml:452 25 29 13 28 3 1309.37 45.93
minipixels.assets.text.create src/minipixels/assets/text.ml:166 3 1 1 0 0 87.57 75.86
minipixels.assets.text.decodeCatalog src/minipixels/assets/text.ml:115 26 31 16 19 2 1801.63 44.19
minipixels.assets.text.hasRange src/minipixels/assets/text.ml:108 3 1 1 0 0 148.68 74.25
minipixels.assets.text.load src/minipixels/assets/text.ml:146 5 4 2 1 1 199.04 68.39
minipixels.assets.text.loadAt src/minipixels/assets/text.ml:156 7 7 3 2 1 279.68 64.03
minipixels.assets.text.Localization.add src/minipixels/assets/text.ml:40 5 4 2 1 1 142.62 69.4
minipixels.assets.text.Localization.format src/minipixels/assets/text.ml:87 9 8 4 3 1 394.95 60.47
minipixels.assets.text.Localization.resolveCatalog src/minipixels/assets/text.ml:56 11 11 5 5 2 495.16 57.74
minipixels.assets.text.Localization.setLocale src/minipixels/assets/text.ml:48 5 4 3 2 1 144.95 69.22
minipixels.assets.text.Localization.text src/minipixels/assets/text.ml:70 13 11 5 6 2 394.73 56.85
minipixels.assets.text.TextCatalog.get src/minipixels/assets/text.ml:21 3 1 1 0 0 53.15 77.38
minipixels.assets.text.TextCatalog.has src/minipixels/assets/text.ml:27 3 1 1 0 0 53.15 77.38
minipixels.assets.text.textError src/minipixels/assets/text.ml:100 3 1 1 0 0 46.51 77.78
minipixels.assetSlotFromPack src/minipixels.ml:446 1 1 1 0 0 64.53 87.19
minipixels.audio.audio.AudioClip.play src/minipixels/audio/audio.ml:261 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioClip.setLooping src/minipixels/audio/audio.ml:256 3 1 1 0 0 50.19 77.55
minipixels.audio.audio.AudioClip.setVolume src/minipixels/audio/audio.ml:251 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioMixer.close src/minipixels/audio/audio.ml:388 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioMixer.mute src/minipixels/audio/audio.ml:348 4 2 1 0 0 91.38 73
minipixels.audio.audio.AudioMixer.playMusic src/minipixels/audio/audio.ml:364 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioMixer.playSfx src/minipixels/audio/audio.ml:359 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioMixer.setChannel src/minipixels/audio/audio.ml:384 3 1 1 0 0 106.61 75.26
minipixels.audio.audio.AudioMixer.setMasterVolume src/minipixels/audio/audio.ml:331 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.setMusicVolume src/minipixels/audio/audio.ml:343 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.setSfxVolume src/minipixels/audio/audio.ml:337 4 2 1 0 0 93.21 72.94
minipixels.audio.audio.AudioMixer.stopAll src/minipixels/audio/audio.ml:372 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioMixer.stopChannel src/minipixels/audio/audio.ml:377 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioMixer.unmute src/minipixels/audio/audio.ml:353 4 2 1 0 0 91.38 73
minipixels.audio.audio.AudioMixer.update src/minipixels/audio/audio.ml:368 3 1 1 0 0 58.81 77.07
minipixels.audio.audio.AudioState.mute src/minipixels/audio/audio.ml:189 4 2 1 0 0 79.95 73.41
minipixels.audio.audio.AudioState.playMusic src/minipixels/audio/audio.ml:204 3 1 1 0 0 74.01 76.37
minipixels.audio.audio.AudioState.playSfx src/minipixels/audio/audio.ml:199 3 1 1 0 0 71.7 76.47
minipixels.audio.audio.AudioState.setMasterVolume src/minipixels/audio/audio.ml:175 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.setMusicVolume src/minipixels/audio/audio.ml:185 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.setSfxVolume src/minipixels/audio/audio.ml:180 3 1 1 0 0 77.71 76.22
minipixels.audio.audio.AudioState.stop src/minipixels/audio/audio.ml:208 4 2 1 0 0 79.95 73.41
minipixels.audio.audio.AudioState.unmute src/minipixels/audio/audio.ml:194 3 1 1 0 0 36.54 78.52
minipixels.audio.audio.backendName src/minipixels/audio/audio.ml:493 3 1 1 0 0 22.46 80
minipixels.audio.audio.channel src/minipixels/audio/audio.ml:456 3 1 1 0 0 114.22 75.05
minipixels.audio.audio.chooseChannel src/minipixels/audio/audio.ml:824 8 6 3 3 2 271.03 62.86
minipixels.audio.audio.chunkIs src/minipixels/audio/audio.ml:681 4 3 2 1 1 313.82 69.12
minipixels.audio.audio.clip src/minipixels/audio/audio.ml:419 5 5 3 2 1 307.46 66.93
minipixels.audio.audio.clipFromBytes src/minipixels/audio/audio.ml:428 5 5 3 2 1 316.65 66.84
minipixels.audio.audio.close src/minipixels/audio/audio.ml:1250 4 3 2 1 1 77.71 73.36
minipixels.audio.audio.closeMixer src/minipixels/audio/audio.ml:1207 24 20 7 7 2 829.27 48.51
minipixels.audio.audio.closeVoiceDecoder src/minipixels/audio/audio.ml:835 8 7 2 1 1 186.91 64.13
minipixels.audio.audio.create src/minipixels/audio/audio.ml:412 3 1 1 0 0 65.73 76.73
minipixels.audio.audio.effectiveClipVolume src/minipixels/audio/audio.ml:488 3 1 1 0 0 105.49 75.29
minipixels.audio.audio.effectiveVolume src/minipixels/audio/audio.ml:479 4 3 2 1 1 144.43 71.48
minipixels.audio.audio.ensureBackend src/minipixels/audio/audio.ml:990 34 29 6 7 2 1225.77 44.16
minipixels.audio.audio.getU32 src/minipixels/audio/audio.ml:655 3 1 1 0 0 199.65 73.35
minipixels.audio.audio.getU64 src/minipixels/audio/audio.ml:662 3 1 1 0 0 110.41 75.15
minipixels.audio.audio.hasRange src/minipixels/audio/audio.ml:670 3 1 1 0 0 148.68 74.25
minipixels.audio.audio.isMp3 src/minipixels/audio/audio.ml:688 5 5 6 5 1 360.55 66.04
minipixels.audio.audio.mixBuffer src/minipixels/audio/audio.ml:948 26 24 9 12 2 1522.38 45.64
minipixels.audio.audio.mixer src/minipixels/audio/audio.ml:462 13 7 4 3 1 645.5 55.49
minipixels.audio.audio.mixerPlayMusic src/minipixels/audio/audio.ml:1074 29 28 6 5 1 905.43 46.59
minipixels.audio.audio.mixerPlaySfx src/minipixels/audio/audio.ml:1045 25 24 6 5 1 867.92 48.12
minipixels.audio.audio.mixerStopAll src/minipixels/audio/audio.ml:1154 19 15 3 2 1 558.35 52.47
minipixels.audio.audio.mixVoice src/minipixels/audio/audio.ml:899 45 41 13 21 4 2224.93 38.75
minipixels.audio.audio.musicClip src/minipixels/audio/audio.ml:437 6 4 1 0 0 116 68.44
minipixels.audio.audio.musicClipFromBytes src/minipixels/audio/audio.ml:447 6 4 1 0 0 116 68.44
minipixels.audio.audio.normalizePan src/minipixels/audio/audio.ml:404 6 7 4 3 1 167.59 66.91
minipixels.audio.audio.normalizeVolume src/minipixels/audio/audio.ml:395 6 7 4 3 1 163.5 66.99
minipixels.audio.audio.openVoiceDecoder src/minipixels/audio/audio.ml:846 12 10 5 4 1 454.95 57.18
minipixels.audio.audio.playClip src/minipixels/audio/audio.ml:615 15 16 8 10 2 666.46 53.5
minipixels.audio.audio.playMusic src/minipixels/audio/audio.ml:587 3 1 1 0 0 36 78.56
minipixels.audio.audio.playMusicWithState src/minipixels/audio/audio.ml:604 7 8 4 3 1 313.82 63.55
minipixels.audio.audio.playSfx src/minipixels/audio/audio.ml:594 6 7 4 3 1 283.28 65.32
minipixels.audio.audio.playSound src/minipixels/audio/audio.ml:523 4 3 2 1 1 138.3 71.61
minipixels.audio.audio.playSoundBytes src/minipixels/audio/audio.ml:556 4 3 3 2 1 192.57 70.47
minipixels.audio.audio.playSoundBytesSync src/minipixels/audio/audio.ml:567 4 3 3 2 1 192.57 70.47
minipixels.audio.audio.playSoundLoop src/minipixels/audio/audio.ml:545 4 3 2 1 1 149.34 71.37
minipixels.audio.audio.playSoundSync src/minipixels/audio/audio.ml:534 4 3 2 1 1 138.3 71.61
minipixels.audio.audio.prepareClip src/minipixels/audio/audio.ml:781 13 14 7 8 2 574.88 55.44
minipixels.audio.audio.prepareMixerFormat src/minipixels/audio/audio.ml:977 10 8 1 0 0 398.07 59.85
minipixels.audio.audio.prepareMp3 src/minipixels/audio/audio.ml:697 36 32 11 10 1 1372.73 42.6
minipixels.audio.audio.prepareWav src/minipixels/audio/audio.ml:737 41 46 24 28 3 2652.44 37.62
minipixels.audio.audio.putU32 src/minipixels/audio/audio.ml:635 7 6 2 1 1 347.11 63.51
minipixels.audio.audio.putU64 src/minipixels/audio/audio.ml:647 4 2 1 0 0 148 71.54
minipixels.audio.audio.refillVoiceStream src/minipixels/audio/audio.ml:862 19 15 10 14 3 916.14 50.02
minipixels.audio.audio.refreshMixer src/minipixels/audio/audio.ml:1148 3 1 1 0 0 34.87 78.66
minipixels.audio.audio.sampleAt src/minipixels/audio/audio.ml:799 22 24 10 11 2 1156.99 47.92
minipixels.audio.audio.setChannel src/minipixels/audio/audio.ml:1196 8 7 4 3 1 356.7 61.89
minipixels.audio.audio.stopChannel src/minipixels/audio/audio.ml:1182 8 7 4 3 1 307.16 62.35
minipixels.audio.audio.stopSound src/minipixels/audio/audio.ml:577 3 1 1 0 0 51.89 77.45
minipixels.audio.audio.streamSampleAt src/minipixels/audio/audio.ml:886 8 8 3 2 1 444.61 61.36
minipixels.audio.audio.supportsMp3 src/minipixels/audio/audio.ml:512 3 1 1 0 0 22.46 80
minipixels.audio.audio.supportsMultipleSfx src/minipixels/audio/audio.ml:502 3 1 1 0 0 22.46 80
minipixels.audio.audio.supportsStereo src/minipixels/audio/audio.ml:517 3 1 1 0 0 22.46 80
minipixels.audio.audio.supportsVolumeControl src/minipixels/audio/audio.ml:507 3 1 1 0 0 22.46 80
minipixels.audio.audio.update src/minipixels/audio/audio.ml:1243 4 3 2 1 1 77.71 73.36
minipixels.audio.audio.updateMixer src/minipixels/audio/audio.ml:1106 17 13 6 8 3 571.15 53.05
minipixels.audioBackend src/minipixels.ml:741 1 1 1 0 0 38.04 88.8
minipixels.audioClip src/minipixels.ml:709 1 1 1 0 0 64.53 87.19
minipixels.audioClipFromBytes src/minipixels.ml:713 1 1 1 0 0 64.53 87.19
minipixels.audioMixer src/minipixels.ml:728 1 1 1 0 0 46.51 88.19
minipixels.audioState src/minipixels.ml:697 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsMp3 src/minipixels.ml:747 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsMultipleSfx src/minipixels.ml:743 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsStereo src/minipixels.ml:749 1 1 1 0 0 38.04 88.8
minipixels.audioSupportsVolumeControl src/minipixels.ml:745 1 1 1 0 0 38.04 88.8
minipixels.bindKey src/minipixels.ml:652 1 1 1 0 0 97.67 85.93
minipixels.bindKeys src/minipixels.ml:658 1 1 1 0 0 96.21 85.98
minipixels.callIfFunction src/minipixels.ml:757 3 2 2 1 1 91.38 75.59
minipixels.callRender src/minipixels.ml:773 3 2 2 1 1 109.39 75.05
minipixels.callUpdate src/minipixels.ml:765 3 2 2 1 1 109.39 75.05
minipixels.camera src/minipixels.ml:525 1 1 1 0 0 64.53 87.19
minipixels.changeScene src/minipixels.ml:592 1 1 1 0 0 81.41 86.49
minipixels.clearAssetPackCache src/minipixels.ml:506 1 1 1 0 0 46.51 88.19
minipixels.closeAssetPack src/minipixels.ml:512 1 1 1 0 0 46.51 88.19
minipixels.collision.collision.circleCircle src/minipixels/collision/collision.ml:47 6 4 1 0 0 193.26 66.88
minipixels.collision.collision.circleRect src/minipixels/collision/collision.ml:59 7 5 1 0 0 356.62 63.56
minipixels.collision.collision.clipAxis src/minipixels/collision/collision.ml:99 15 15 8 12 2 421.82 54.89
minipixels.collision.collision.lineRect src/minipixels/collision/collision.ml:73 20 22 6 5 1 1132.39 49.43
minipixels.collision.collision.pointRect src/minipixels/collision/collision.ml:29 3 1 1 0 0 81.41 76.08
minipixels.collision.collision.rectRect src/minipixels/collision/collision.ml:36 3 1 1 0 0 64.53 76.79
minipixels.collision.collision.result src/minipixels/collision/collision.ml:118 3 1 1 0 0 83.03 76.02
minipixels.core.time.beginFrame src/minipixels/core/time.ml:43 7 5 1 0 0 200 65.32
minipixels.core.time.countUpdate src/minipixels/core/time.ml:53 4 2 1 0 0 89.62 73.06
minipixels.core.time.create src/minipixels/core/time.ml:35 4 3 2 1 1 179.85 70.81
minipixels.core.time.finishFrame src/minipixels/core/time.ml:61 12 11 4 3 1 366.8 57.96
minipixels.createConfig src/minipixels.ml:121 6 7 4 3 1 416.15 64.15
minipixels.createGame src/minipixels.ml:130 21 1 1 0 0 555 51.81
minipixels.debug.debug.captureHash src/minipixels/debug/debug.ml:73 3 1 1 0 0 46.51 77.78
minipixels.debug.debug.drawDigit src/minipixels/debug/debug.ml:22 12 18 10 9 1 1463.13 52.95
minipixels.debug.debug.drawNumber src/minipixels/debug/debug.ml:41 13 10 4 4 2 412.08 56.85
minipixels.debug.debug.drawStats src/minipixels/debug/debug.ml:58 12 10 1 0 0 1301.57 54.52
minipixels.designToRenderX src/minipixels.ml:269 1 1 1 0 0 53.77 87.75
minipixels.designToRenderY src/minipixels.ml:273 1 1 1 0 0 53.77 87.75
minipixels.drawRectWorld src/minipixels.ml:617 1 1 1 0 0 152 84.59
minipixels.drawRenderTarget src/minipixels.ml:419 1 1 1 0 0 98.99 85.89
minipixels.drawSpriteRotated src/minipixels.ml:428 1 1 1 0 0 152 84.59
minipixels.drawSpriteWorld src/minipixels.ml:624 1 1 1 0 0 114.22 85.46
minipixels.drawSpriteWorldEx src/minipixels.ml:635 1 1 1 0 0 191.82 83.88
minipixels.drawText src/minipixels.ml:670 1 1 1 0 0 132.83 85
minipixels.drawTextCentered src/minipixels.ml:677 1 1 1 0 0 114.22 85.46
minipixels.fillRectWorld src/minipixels.ml:608 1 1 1 0 0 152 84.59
minipixels.frameHash src/minipixels.ml:752 1 1 1 0 0 46.51 88.19
minipixels.Game.quit src/minipixels.ml:111 3 1 1 0 0 36.54 78.52
minipixels.graphics.canvas.blendOpaqueSpriteRow src/minipixels/graphics/canvas.ml:732 23 18 4 5 2 1235.67 48.11
minipixels.graphics.canvas.blendPixel src/minipixels/graphics/canvas.ml:469 7 4 2 1 1 289.51 64.06
minipixels.graphics.canvas.blendPixelRaw src/minipixels/graphics/canvas.ml:418 33 31 9 8 1 2509.11 41.86
minipixels.graphics.canvas.blendTransparentSpriteRow src/minipixels/graphics/canvas.ml:757 26 20 5 7 3 1649.71 45.93
minipixels.graphics.canvas.blitImage src/minipixels/graphics/canvas.ml:666 3 1 1 0 0 144 74.34
minipixels.graphics.canvas.blitRegion src/minipixels/graphics/canvas.ml:679 6 5 7 6 1 446.93 63.53
minipixels.graphics.canvas.Canvas.beginCamera src/minipixels/graphics/canvas.ml:230 4 2 1 0 0 77.71 73.5
minipixels.graphics.canvas.Canvas.blit src/minipixels/graphics/canvas.ml:119 3 1 1 0 0 112 75.11
minipixels.graphics.canvas.Canvas.blitRegion src/minipixels/graphics/canvas.ml:131 3 1 1 0 0 186.91 73.55
minipixels.graphics.canvas.Canvas.clear src/minipixels/graphics/canvas.ml:48 3 1 1 0 0 76.15 76.28
minipixels.graphics.canvas.Canvas.drawCanvas src/minipixels/graphics/canvas.ml:180 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.Canvas.drawCircle src/minipixels/graphics/canvas.ml:102 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.drawLine src/minipixels/graphics/canvas.ml:73 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawRect src/minipixels/graphics/canvas.ml:83 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawRectWorld src/minipixels/graphics/canvas.ml:202 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.drawSprite src/minipixels/graphics/canvas.ml:139 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.Canvas.drawSpriteEx src/minipixels/graphics/canvas.ml:151 3 1 1 0 0 186.91 73.55
minipixels.graphics.canvas.Canvas.drawSpriteRotated src/minipixels/graphics/canvas.ml:172 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.drawSpriteScaled src/minipixels/graphics/canvas.ml:161 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.drawSpriteWorld src/minipixels/graphics/canvas.ml:211 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.drawSpriteWorldEx src/minipixels/graphics/canvas.ml:224 3 1 1 0 0 207.45 73.23
minipixels.graphics.canvas.Canvas.endCamera src/minipixels/graphics/canvas.ml:236 4 2 1 0 0 55.35 74.53
minipixels.graphics.canvas.Canvas.fillCircle src/minipixels/graphics/canvas.ml:111 3 1 1 0 0 128 74.7
minipixels.graphics.canvas.Canvas.fillRect src/minipixels/graphics/canvas.ml:93 3 1 1 0 0 147.15 74.28
minipixels.graphics.canvas.Canvas.fillRectWorld src/minipixels/graphics/canvas.ml:191 3 1 1 0 0 166.8 73.9
minipixels.graphics.canvas.Canvas.getPixel src/minipixels/graphics/canvas.ml:63 3 1 1 0 0 91.38 75.73
minipixels.graphics.canvas.Canvas.resize src/minipixels/graphics/canvas.ml:244 3 1 1 0 0 91.38 75.73
minipixels.graphics.canvas.Canvas.setPixel src/minipixels/graphics/canvas.ml:56 3 1 1 0 0 109.39 75.18
minipixels.graphics.canvas.clearCanvas src/minipixels/graphics/canvas.ml:363 27 24 4 6 3 1037.48 47.12
minipixels.graphics.canvas.create src/minipixels/graphics/canvas.ml:252 5 3 1 0 0 325.7 67.02
minipixels.graphics.canvas.drawCanvas src/minipixels/graphics/canvas.ml:980 3 1 1 0 0 98.99 75.48
minipixels.graphics.canvas.drawCircle src/minipixels/graphics/canvas.ml:607 23 18 3 3 2 937.22 49.08
minipixels.graphics.canvas.drawImageRegionFast1x src/minipixels/graphics/canvas.ml:787 26 21 6 7 2 1508.87 46.07
minipixels.graphics.canvas.drawLine src/minipixels/graphics/canvas.ml:573 27 25 8 10 2 953.64 46.84
minipixels.graphics.canvas.drawPixelFast src/minipixels/graphics/canvas.ml:482 14 13 7 6 1 749.53 53.93
minipixels.graphics.canvas.drawRect src/minipixels/graphics/canvas.ml:559 6 4 1 0 0 420 64.52
minipixels.graphics.canvas.drawRectWorld src/minipixels/graphics/canvas.ml:1018 3 1 1 0 0 179.85 73.67
minipixels.graphics.canvas.drawSprite src/minipixels/graphics/canvas.ml:691 3 1 1 0 0 125.02 74.77
minipixels.graphics.canvas.drawSpriteEx src/minipixels/graphics/canvas.ml:831 35 30 18 30 4 1951.21 40.86
minipixels.graphics.canvas.drawSpriteFast1x src/minipixels/graphics/canvas.ml:818 3 1 1 0 0 175.14 73.75
minipixels.graphics.canvas.drawSpriteRotated src/minipixels/graphics/canvas.ml:916 58 61 19 31 4 3859.12 33.86
minipixels.graphics.canvas.drawSpriteScaled src/minipixels/graphics/canvas.ml:875 32 35 11 15 3 2270.43 42.19
minipixels.graphics.canvas.drawSpriteWorld src/minipixels/graphics/canvas.ml:1028 3 1 1 0 0 140.65 74.42
minipixels.graphics.canvas.drawSpriteWorldEx src/minipixels/graphics/canvas.ml:1042 3 1 1 0 0 220.89 73.04
minipixels.graphics.canvas.fillCircle src/minipixels/graphics/canvas.ml:637 23 20 7 11 3 1074.46 48.13
minipixels.graphics.canvas.fillRect src/minipixels/graphics/canvas.ml:504 47 41 11 17 3 2335.44 38.46
minipixels.graphics.canvas.fillRectWorld src/minipixels/graphics/canvas.ml:1006 3 1 1 0 0 179.85 73.67
minipixels.graphics.canvas.fillScaledPixel src/minipixels/graphics/canvas.ml:701 29 25 7 9 3 1259.8 45.45
minipixels.graphics.canvas.getPixel src/minipixels/graphics/canvas.ml:456 7 6 5 4 1 559.09 61.65
minipixels.graphics.canvas.hash src/minipixels/graphics/canvas.ml:1048 8 5 2 1 1 153.73 64.72
minipixels.graphics.canvas.imagePixelUnchecked src/minipixels/graphics/canvas.ml:340 4 2 1 0 0 354.63 68.88
minipixels.graphics.canvas.index src/minipixels/graphics/canvas.ml:334 3 1 1 0 0 104 75.33
minipixels.graphics.canvas.markDirty src/minipixels/graphics/canvas.ml:288 20 23 13 12 1 1253.67 48.18
minipixels.graphics.canvas.resetDirty src/minipixels/graphics/canvas.ml:314 7 5 1 0 0 125.02 66.75
minipixels.graphics.canvas.resetStats src/minipixels/graphics/canvas.ml:324 5 3 1 0 0 78.87 71.34
minipixels.graphics.canvas.resize src/minipixels/graphics/canvas.ml:263 18 19 6 5 1 771.68 51.59
minipixels.graphics.canvas.screenX src/minipixels/graphics/canvas.ml:987 3 1 1 0 0 51.89 77.45
minipixels.graphics.canvas.screenY src/minipixels/graphics/canvas.ml:994 3 1 1 0 0 51.89 77.45
minipixels.graphics.canvas.setPixel src/minipixels/graphics/canvas.ml:396 16 15 11 10 1 1111.22 50.93
minipixels.graphics.canvas.tintChannelUnchecked src/minipixels/graphics/canvas.ml:346 4 2 1 0 0 118.54 72.21
minipixels.graphics.canvas.tintColorUnchecked src/minipixels/graphics/canvas.ml:352 7 5 1 0 0 467.67 62.74
minipixels.graphics.font.drawGlyph src/minipixels/graphics/font.ml:73 25 20 8 13 4 966.62 47.53
minipixels.graphics.font.drawText src/minipixels/graphics/font.ml:106 8 6 3 2 1 285.29 62.7
minipixels.graphics.font.drawTextCentered src/minipixels/graphics/font.ml:121 3 1 1 0 0 175.14 73.75
minipixels.graphics.font.glyphBits src/minipixels/graphics/font.ml:11 45 85 43 42 1 2542.53 34.31
minipixels.graphics.font.textWidth src/minipixels/graphics/font.ml:60 5 5 3 2 1 195.4 68.31
minipixels.graphics.gpu.begin src/minipixels/graphics/gpu.ml:268 6 5 3 2 1 142.7 67.54
minipixels.graphics.gpu.create src/minipixels/graphics/gpu.ml:249 15 16 7 6 1 699.99 53.48
minipixels.graphics.gpu.drawCalls src/minipixels/graphics/gpu.ml:313 4 3 2 1 1 76.15 73.42
minipixels.graphics.gpu.drawRegion src/minipixels/graphics/gpu.ml:110 7 8 8 7 1 671.94 60.69
minipixels.graphics.gpu.finish src/minipixels/graphics/gpu.ml:278 5 4 3 2 1 322.09 66.79
minipixels.graphics.gpu.GpuCanvas.blitRegion src/minipixels/graphics/gpu.ml:182 3 1 1 0 0 172 73.8
minipixels.graphics.gpu.GpuCanvas.clear src/minipixels/graphics/gpu.ml:126 3 1 1 0 0 30.88 79.03
minipixels.graphics.gpu.GpuCanvas.drawCanvas src/minipixels/graphics/gpu.ml:170 3 1 1 0 0 183.94 73.6
minipixels.graphics.gpu.GpuCanvas.drawLight src/minipixels/graphics/gpu.ml:237 5 4 2 1 1 332.84 66.82
minipixels.graphics.gpu.GpuCanvas.drawLine src/minipixels/graphics/gpu.ml:215 3 1 1 0 0 183.62 73.61
minipixels.graphics.gpu.GpuCanvas.drawRect src/minipixels/graphics/gpu.ml:202 6 4 1 0 0 362.78 64.97
minipixels.graphics.gpu.GpuCanvas.drawSprite src/minipixels/graphics/gpu.ml:152 3 1 1 0 0 250.36 72.66
minipixels.graphics.gpu.GpuCanvas.drawSpriteScaled src/minipixels/graphics/gpu.ml:162 3 1 1 0 0 312.13 71.99
minipixels.graphics.gpu.GpuCanvas.fillCircle src/minipixels/graphics/gpu.ml:224 3 1 1 0 0 144.68 74.33
minipixels.graphics.gpu.GpuCanvas.fillRect src/minipixels/graphics/gpu.ml:192 3 1 1 0 0 183.62 73.61
minipixels.graphics.gpu.GpuCanvas.resize src/minipixels/graphics/gpu.ml:134 13 13 4 3 1 430 56.72
minipixels.graphics.gpu.invalidate src/minipixels/graphics/gpu.ml:105 3 2 2 1 1 120 74.76
minipixels.graphics.gpu.printInfo src/minipixels/graphics/gpu.ml:300 3 2 2 1 1 44.38 77.79
minipixels.graphics.gpu.readback src/minipixels/graphics/gpu.ml:287 11 10 4 3 1 368.24 58.78
minipixels.graphics.gpu.resetTextures src/minipixels/graphics/gpu.ml:69 8 7 2 1 1 160.54 64.59
minipixels.graphics.gpu.shutdown src/minipixels/graphics/gpu.ml:319 11 10 2 1 1 250.77 60.21
minipixels.graphics.gpu.supported src/minipixels/graphics/gpu.ml:64 3 1 1 0 0 31.7 78.95
minipixels.graphics.gpu.texture src/minipixels/graphics/gpu.ml:79 22 17 7 9 3 764.32 49.59
minipixels.graphics.gpu.uploadBytes src/minipixels/graphics/gpu.ml:306 4 3 2 1 1 76.15 73.42
minipixels.graphics.sprite.cacheFrames src/minipixels/graphics/sprite.ml:238 7 5 3 2 1 166.91 65.6
minipixels.graphics.sprite.Image.getPixel src/minipixels/graphics/sprite.ml:29 3 1 1 0 0 93.77 75.65
minipixels.graphics.sprite.imageGetPixel src/minipixels/graphics/sprite.ml:160 12 14 12 11 1 856.24 54.31
minipixels.graphics.sprite.imageIndex src/minipixels/graphics/sprite.ml:135 3 1 1 0 0 104 75.33
minipixels.graphics.sprite.imageSetPixel src/minipixels/graphics/sprite.ml:144 11 11 6 5 1 654.6 56.76
minipixels.graphics.sprite.newImage src/minipixels/graphics/sprite.ml:85 6 3 2 1 1 266.89 65.77
minipixels.graphics.sprite.pixelsAreOpaque src/minipixels/graphics/sprite.ml:96 10 9 4 4 2 310 60.2
minipixels.graphics.sprite.solidImage src/minipixels/graphics/sprite.ml:112 18 15 4 6 3 825.02 51.66
minipixels.graphics.sprite.spriteFromImage src/minipixels/graphics/sprite.ml:176 3 1 1 0 0 121.84 74.85
minipixels.graphics.sprite.spriteRegion src/minipixels/graphics/sprite.ml:187 3 1 1 0 0 140.65 74.42
minipixels.graphics.sprite.spriteSheet src/minipixels/graphics/sprite.ml:197 20 18 5 4 1 703.11 51.01
minipixels.graphics.sprite.SpriteSheet.getFrame src/minipixels/graphics/sprite.ml:75 3 1 1 0 0 76.15 76.28
minipixels.graphics.sprite.spriteSheetFrame src/minipixels/graphics/sprite.ml:221 14 16 5 4 1 938.73 53.51
minipixels.image src/minipixels.ml:392 1 1 1 0 0 98.99 85.89
minipixels.input.input.actionSlot src/minipixels/input/input.ml:204 6 6 3 2 1 209.59 66.37
minipixels.input.input.addMouseWheel src/minipixels/input/input.ml:392 3 2 3 2 1 148.68 73.98
minipixels.input.input.beginPoll src/minipixels/input/input.ml:300 9 7 1 0 0 249.73 62.26
minipixels.input.input.beginUpdate src/minipixels/input/input.ml:312 17 13 3 3 2 535 53.65
minipixels.input.input.bindKeys src/minipixels/input/input.ml:238 9 10 4 3 1 363.11 60.72
minipixels.input.input.create src/minipixels/input/input.ml:141 26 13 1 0 0 1375.6 47.02
minipixels.input.input.endUpdate src/minipixels/input/input.ml:332 12 8 3 3 2 285.29 58.86
minipixels.input.input.ensureAction src/minipixels/input/input.ml:214 18 18 4 3 1 750.06 51.95
minipixels.input.input.ensureActionCapacity src/minipixels/input/input.ml:170 30 29 2 1 1 1339.39 45.61
minipixels.input.input.InputState.beginFrame src/minipixels/input/input.ml:92 3 1 1 0 0 58.81 77.07
minipixels.input.input.InputState.beginUpdate src/minipixels/input/input.ml:97 3 1 1 0 0 56.47 77.19
minipixels.input.input.InputState.bindKey src/minipixels/input/input.ml:127 3 1 1 0 0 108 75.22
minipixels.input.input.InputState.bindKeys src/minipixels/input/input.ml:135 3 1 1 0 0 106.61 75.26
minipixels.input.input.InputState.endUpdate src/minipixels/input/input.ml:102 3 1 1 0 0 56.47 77.19
minipixels.input.input.InputState.isDown src/minipixels/input/input.ml:108 3 1 1 0 0 71.7 76.47
minipixels.input.input.InputState.pressed src/minipixels/input/input.ml:114 3 1 1 0 0 71.7 76.47
minipixels.input.input.InputState.released src/minipixels/input/input.ml:120 3 1 1 0 0 71.7 76.47
minipixels.input.input.isDown src/minipixels/input/input.ml:399 5 4 2 1 1 144.95 69.35
minipixels.input.input.pressed src/minipixels/input/input.ml:422 5 4 2 1 1 180.94 68.68
minipixels.input.input.releaseAll src/minipixels/input/input.ml:366 6 4 3 2 1 195.04 66.59
minipixels.input.input.released src/minipixels/input/input.ml:431 5 4 2 1 1 180.94 68.68
minipixels.input.input.setActionState src/minipixels/input/input.ml:281 16 12 4 4 2 431.81 54.74
minipixels.input.input.setKeyboard src/minipixels/input/input.ml:354 9 7 1 0 0 343.38 61.29
minipixels.input.input.setMousePosition src/minipixels/input/input.ml:378 10 7 2 1 1 330.12 60.28
minipixels.input.input.syncLegacyAction src/minipixels/input/input.ml:264 12 20 11 10 1 660.82 55.23
minipixels.input.input.unbind src/minipixels/input/input.ml:251 8 7 2 1 1 253.82 63.19
minipixels.input.input.wasDown src/minipixels/input/input.ml:408 10 15 8 7 1 423.05 58.72
minipixels.inputDown src/minipixels.ml:639 1 1 1 0 0 64.53 87.19
minipixels.inputPressed src/minipixels.ml:643 1 1 1 0 0 64.53 87.19
minipixels.inputReleased src/minipixels.ml:647 1 1 1 0 0 64.53 87.19
minipixels.isGpuRenderer src/minipixels.ml:349 4 3 3 2 1 129.27 71.68
minipixels.lineRect src/minipixels.ml:568 1 1 1 0 0 114.22 85.46
minipixels.loadBytesFromPack src/minipixels.ml:442 1 1 1 0 0 64.53 87.19
minipixels.loadBytesFromPackSlot src/minipixels.ml:450 1 1 1 0 0 64.53 87.19
minipixels.loadPng src/minipixels.ml:495 1 1 1 0 0 46.51 88.19
minipixels.loadPngFromPack src/minipixels.ml:488 1 1 1 0 0 64.53 87.19
minipixels.loadPngFromPackSlot src/minipixels.ml:492 1 1 1 0 0 64.53 87.19
minipixels.loadTextCatalogFromPack src/minipixels.ml:476 1 1 1 0 0 81.41 86.49
minipixels.loadTextCatalogFromPackSlot src/minipixels.ml:481 1 1 1 0 0 81.41 86.49
minipixels.localization src/minipixels.ml:484 1 1 1 0 0 46.51 88.19
minipixels.math.types.abs src/minipixels/math/types.ml:273 4 3 2 1 1 71.7 73.61
minipixels.math.types.alphaBlend src/minipixels/math/types.ml:405 13 14 4 3 1 938.26 54.35
minipixels.math.types.clamp src/minipixels/math/types.ml:265 5 5 3 2 1 118.03 69.84
minipixels.math.types.colorA src/minipixels/math/types.ml:377 3 1 1 0 0 39.86 78.25
minipixels.math.types.colorB src/minipixels/math/types.ml:371 3 1 1 0 0 57.36 77.14
minipixels.math.types.colorG src/minipixels/math/types.ml:365 3 1 1 0 0 57.36 77.14
minipixels.math.types.colorR src/minipixels/math/types.ml:359 3 1 1 0 0 57.36 77.14
minipixels.math.types.floorInt src/minipixels/math/types.ml:252 8 6 4 3 1 202.05 63.62
minipixels.math.types.Random.chance src/minipixels/math/types.ml:206 3 1 1 0 0 68.53 76.6
minipixels.math.types.Random.nextFloat src/minipixels/math/types.ml:200 3 1 1 0 0 33 78.82
minipixels.math.types.Random.nextInt src/minipixels/math/types.ml:195 3 1 1 0 0 62.27 76.89
minipixels.math.types.randomCreate src/minipixels/math/types.ml:445 5 5 3 2 1 143.06 69.26
minipixels.math.types.randomNextFloat src/minipixels/math/types.ml:474 3 1 1 0 0 46.51 77.78
minipixels.math.types.randomNextInt src/minipixels/math/types.ml:462 9 6 2 1 1 197.65 62.84
minipixels.math.types.randomStep src/minipixels/math/types.ml:453 4 2 1 0 0 112 72.38
minipixels.math.types.rect src/minipixels/math/types.ml:230 3 1 1 0 0 86.04 75.91
minipixels.math.types.rectangleContainsPoint src/minipixels/math/types.ml:317 3 1 1 0 0 175.76 73.74
minipixels.math.types.rectangleIntersects src/minipixels/math/types.ml:324 7 9 5 4 1 341.43 63.15
minipixels.math.types.recti src/minipixels/math/types.ml:239 3 1 1 0 0 133.22 74.58
minipixels.math.types.rgb src/minipixels/math/types.ml:353 3 1 1 0 0 85.11 75.94
minipixels.math.types.rgba src/minipixels/math/types.ml:337 11 21 13 12 1 778.79 55.29
minipixels.math.types.Timer.finished src/minipixels/math/types.ml:182 3 1 1 0 0 78.14 76.2
minipixels.math.types.Timer.reset src/minipixels/math/types.ml:171 3 1 1 0 0 36.54 78.52
minipixels.math.types.Timer.start src/minipixels/math/types.ml:160 4 2 1 0 0 57.36 74.42
minipixels.math.types.Timer.stop src/minipixels/math/types.ml:166 3 1 1 0 0 36.54 78.52
minipixels.math.types.Timer.update src/minipixels/math/types.ml:177 3 1 1 0 0 46.51 77.78
minipixels.math.types.timerCreate src/minipixels/math/types.ml:422 3 1 1 0 0 71.7 76.47
minipixels.math.types.timerUpdate src/minipixels/math/types.ml:429 13 9 4 4 2 311.78 57.7
minipixels.math.types.tintChannel src/minipixels/math/types.ml:384 3 1 1 0 0 74.01 76.37
minipixels.math.types.tintColor src/minipixels/math/types.ml:393 8 1 1 0 0 250.04 63.37
minipixels.math.types.transform2d src/minipixels/math/types.ml:246 3 1 1 0 0 69.19 76.57
minipixels.math.types.vec2 src/minipixels/math/types.ml:214 3 1 1 0 0 53.15 77.38
minipixels.math.types.vec2i src/minipixels/math/types.ml:221 3 1 1 0 0 53.15 77.38
minipixels.math.types.Vector2.operator *(Vector2,float) src/minipixels/math/types.ml:51 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator *(Vector2,int) src/minipixels/math/types.ml:43 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator +(Vector2,Vector2) src/minipixels/math/types.ml:20 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2.operator -(Vector2) src/minipixels/math/types.ml:35 3 1 1 0 0 108 75.22
minipixels.math.types.Vector2.operator -(Vector2,Vector2) src/minipixels/math/types.ml:28 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2.operator /(Vector2,float) src/minipixels/math/types.ml:67 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2.operator /(Vector2,int) src/minipixels/math/types.ml:59 3 1 1 0 0 126.71 74.73
minipixels.math.types.vector2Add src/minipixels/math/types.ml:281 3 1 1 0 0 106.61 75.26
minipixels.math.types.Vector2Int.operator *(Vector2Int,int) src/minipixels/math/types.ml:99 3 1 1 0 0 126.71 74.73
minipixels.math.types.Vector2Int.operator +(Vector2Int,Vector2Int) src/minipixels/math/types.ml:83 3 1 1 0 0 140 74.43
minipixels.math.types.Vector2Int.operator -(Vector2Int,Vector2Int) src/minipixels/math/types.ml:91 3 1 1 0 0 140 74.43
minipixels.math.types.vector2Length src/minipixels/math/types.ml:301 3 1 1 0 0 144 74.34
minipixels.math.types.vector2Multiply src/minipixels/math/types.ml:295 3 1 1 0 0 91.38 75.73
minipixels.math.types.vector2Normalize src/minipixels/math/types.ml:307 5 4 2 1 1 181.52 68.67
minipixels.math.types.vector2Subtract src/minipixels/math/types.ml:288 3 1 1 0 0 106.61 75.26
minipixels.mixerPlayMusic src/minipixels.ml:736 1 1 1 0 0 62.27 87.3
minipixels.mixerPlaySfx src/minipixels.ml:732 1 1 1 0 0 62.27 87.3
minipixels.mixerStopAll src/minipixels.ml:739 1 1 1 0 0 44.38 88.33
minipixels.musicClip src/minipixels.ml:717 1 1 1 0 0 62.27 87.3
minipixels.musicClipFromBytes src/minipixels.ml:721 1 1 1 0 0 62.27 87.3
minipixels.openAssetPack src/minipixels.ml:431 1 1 1 0 0 46.51 88.19
minipixels.openProtectedAssetPack src/minipixels.ml:438 1 1 1 0 0 98.99 85.89
minipixels.platform.linux.clearKeyStates src/minipixels/platform/linux.ml:295 5 2 2 1 1 127.44 69.74
minipixels.platform.linux.clientHeight src/minipixels/platform/linux.ml:384 4 3 3 2 1 108 72.23
minipixels.platform.linux.clientWidth src/minipixels/platform/linux.ml:377 4 3 3 2 1 108 72.23
minipixels.platform.linux.close src/minipixels/platform/linux.ml:214 20 16 6 5 1 549.92 51.62
minipixels.platform.linux.convertNativeRegion src/minipixels/platform/linux.ml:487 7 4 2 1 1 344.92 63.53
minipixels.platform.linux.ensureImage src/minipixels/platform/linux.ml:476 9 9 5 4 1 666.81 58.74
minipixels.platform.linux.getI32 src/minipixels/platform/linux.ml:132 5 4 2 1 1 125.1 69.8
minipixels.platform.linux.getU32 src/minipixels/platform/linux.ml:127 3 1 1 0 0 203.13 73.3
minipixels.platform.linux.getU64 src/minipixels/platform/linux.ml:139 3 1 1 0 0 110.41 75.15
minipixels.platform.linux.hasFocus src/minipixels/platform/linux.ml:370 4 3 2 1 1 102.19 72.53
minipixels.platform.linux.isGpuRenderer src/minipixels/platform/linux.ml:244 3 1 1 0 0 27 79.44
minipixels.platform.linux.keysymToVirtualKey src/minipixels/platform/linux.ml:265 23 41 27 26 1 1316.62 44.82
minipixels.platform.linux.normalizeScaleMode src/minipixels/platform/linux.ml:151 5 5 4 3 1 121.11 69.63
minipixels.platform.linux.open src/minipixels/platform/linux.ml:165 40 33 6 5 1 2228.5 40.8
minipixels.platform.linux.pollEvents src/minipixels/platform/linux.ml:360 7 5 4 3 1 215.49 64.69
minipixels.platform.linux.present src/minipixels/platform/linux.ml:511 44 38 12 13 2 3025.68 38.16
minipixels.platform.linux.processEvent src/minipixels/platform/linux.ml:302 55 45 26 32 2 2672.16 34.54
minipixels.platform.linux.putU64 src/minipixels/platform/linux.ml:144 5 2 2 1 1 167.37 68.91
minipixels.platform.linux.rendererFallbackReason src/minipixels/platform/linux.ml:250 4 3 2 1 1 82.04 73.2
minipixels.platform.linux.rendererName src/minipixels/platform/linux.ml:237 4 3 2 1 1 82.04 73.2
minipixels.platform.linux.running src/minipixels/platform/linux.ml:207 4 2 1 0 0 30 76.39
minipixels.platform.linux.scaleGeneric src/minipixels/platform/linux.ml:504 3 1 1 0 0 220.42 73.05
minipixels.platform.linux.scaleInteger src/minipixels/platform/linux.ml:496 6 3 5 4 1 451.71 63.76
minipixels.platform.linux.seconds src/minipixels/platform/linux.ml:562 3 1 1 0 0 48.43 77.66
minipixels.platform.linux.setKeyState src/minipixels/platform/linux.ml:290 3 2 3 2 1 153.73 73.88
minipixels.platform.linux.setRenderSize src/minipixels/platform/linux.ml:393 10 10 6 5 1 383.78 59.29
minipixels.platform.linux.setTitle src/minipixels/platform/linux.ml:258 5 4 3 2 1 206.32 68.14
minipixels.platform.linux.sleepMs src/minipixels/platform/linux.ml:579 3 1 1 0 0 41.21 78.15
minipixels.platform.linux.ticks src/minipixels/platform/linux.ml:557 3 1 1 0 0 36 78.56
minipixels.platform.linux.updateInput src/minipixels/platform/linux.ml:442 4 2 1 0 0 59.79 74.29
minipixels.platform.linux.updateInputForWindow src/minipixels/platform/linux.ml:407 32 30 11 15 3 2096.21 42.43
minipixels.platform.linux.viewport src/minipixels/platform/linux.ml:448 26 24 6 9 3 976.73 47.39
minipixels.platform.linux.waitUntil src/minipixels/platform/linux.ml:568 8 7 3 3 2 277.33 62.79
minipixels.platform.windows.applyTextureFilter src/minipixels/platform/windows.ml:878 6 5 2 1 1 152.93 67.46
minipixels.platform.windows.clientHeight src/minipixels/platform/windows.ml:777 5 3 1 0 0 64.53 71.95
minipixels.platform.windows.clientWidth src/minipixels/platform/windows.ml:769 5 3 1 0 0 64.53 71.95
minipixels.platform.windows.close src/minipixels/platform/windows.ml:613 18 14 5 7 2 418.34 53.59
minipixels.platform.windows.consumeMouseWheel src/minipixels/platform/windows.ml:720 6 4 1 0 0 55.35 70.69
minipixels.platform.windows.createBitmapInfo src/minipixels/platform/windows.ml:508 14 12 1 0 0 518.06 55.86
minipixels.platform.windows.createPixelFormatDescriptor src/minipixels/platform/windows.ml:524 13 11 1 0 0 376.52 57.53
minipixels.platform.windows.ensureOpenGLTexture src/minipixels/platform/windows.ml:941 16 15 3 2 1 713.53 53.35
minipixels.platform.windows.getI32 src/minipixels/platform/windows.ml:445 5 4 2 1 1 125.1 69.8
minipixels.platform.windows.getU32 src/minipixels/platform/windows.ml:438 3 1 1 0 0 199.65 73.35
minipixels.platform.windows.getU64 src/minipixels/platform/windows.ml:454 3 1 1 0 0 110.41 75.15
minipixels.platform.windows.hasFocus src/minipixels/platform/windows.ml:681 4 3 2 1 1 102.19 72.53
minipixels.platform.windows.initOpenGL src/minipixels/platform/windows.ml:887 52 46 7 6 1 1880.04 38.7
minipixels.platform.windows.isGpuRenderer src/minipixels/platform/windows.ml:641 4 3 2 1 1 123.19 71.96
minipixels.platform.windows.keyDown src/minipixels/platform/windows.ml:675 3 1 1 0 0 46.51 77.78
minipixels.platform.windows.maxInt src/minipixels/platform/windows.ml:811 4 3 2 1 1 71.7 73.61
minipixels.platform.windows.minInt src/minipixels/platform/windows.ml:803 4 3 2 1 1 71.7 73.61
minipixels.platform.windows.nextPow2 src/minipixels/platform/windows.ml:540 7 4 2 1 1 87.57 67.7
minipixels.platform.windows.normalizeRenderer src/minipixels/platform/windows.ml:550 7 9 5 4 1 175.81 65.17
minipixels.platform.windows.normalizeScaleMode src/minipixels/platform/windows.ml:560 6 7 4 3 1 137.06 67.52
minipixels.platform.windows.open src/minipixels/platform/windows.ml:575 29 24 6 6 2 1635.83 44.79
minipixels.platform.windows.pollEvents src/minipixels/platform/windows.ml:666 6 3 2 1 1 140.65 67.72
minipixels.platform.windows.present src/minipixels/platform/windows.ml:1044 18 14 6 6 2 408.63 53.53
minipixels.platform.windows.presentGDI src/minipixels/platform/windows.ml:1022 16 13 6 5 1 883.18 52.3
minipixels.platform.windows.presentOpenGL src/minipixels/platform/windows.ml:961 55 52 9 9 2 2492.92 37.04
minipixels.platform.windows.putI32 src/minipixels/platform/windows.ml:421 3 1 1 0 0 63.12 76.85
minipixels.platform.windows.putU32 src/minipixels/platform/windows.ml:409 7 6 2 1 1 347.11 63.51
minipixels.platform.windows.putU64 src/minipixels/platform/windows.ml:429 5 4 2 1 1 206.44 68.28
minipixels.platform.windows.refreshClientSize src/minipixels/platform/windows.ml:753 13 12 4 3 1 480.24 56.39
minipixels.platform.windows.registerWindowClass src/minipixels/platform/windows.ml:488 16 15 2 1 1 581.39 54.11
minipixels.platform.windows.rendererFallbackReason src/minipixels/platform/windows.ml:648 4 3 2 1 1 82.04 73.2
minipixels.platform.windows.rendererName src/minipixels/platform/windows.ml:634 4 3 2 1 1 82.04 73.2
minipixels.platform.windows.running src/minipixels/platform/windows.ml:606 4 2 1 0 0 30 76.39
minipixels.platform.windows.seconds src/minipixels/platform/windows.ml:1071 12 10 5 5 2 321.17 58.23
minipixels.platform.windows.setRenderSize src/minipixels/platform/windows.ml:787 12 12 6 5 1 445 57.11
minipixels.platform.windows.setTitle src/minipixels/platform/windows.ml:656 7 8 4 3 1 232.79 64.45
minipixels.platform.windows.sleepMs src/minipixels/platform/windows.ml:1101 3 1 1 0 0 30.88 79.03
minipixels.platform.windows.ticks src/minipixels/platform/windows.ml:1066 3 1 1 0 0 28.07 79.32
minipixels.platform.windows.updateInput src/minipixels/platform/windows.ml:714 4 2 1 0 0 59.79 74.29
minipixels.platform.windows.updateInputForWindow src/minipixels/platform/windows.ml:689 22 20 9 13 3 899.18 48.82
minipixels.platform.windows.updatePointerForWindow src/minipixels/platform/windows.ml:730 20 22 5 4 1 1237.23 49.29
minipixels.platform.windows.updateViewport src/minipixels/platform/windows.ml:818 5 4 3 2 1 258.52 67.46
minipixels.platform.windows.updateViewportForSize src/minipixels/platform/windows.ml:826 34 30 7 8 2 1242.61 43.98
minipixels.platform.windows.viewportH src/minipixels/platform/windows.ml:874 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportW src/minipixels/platform/windows.ml:871 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportX src/minipixels/platform/windows.ml:865 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.viewportY src/minipixels/platform/windows.ml:868 1 1 1 0 0 34.87 89.07
minipixels.platform.windows.waitUntil src/minipixels/platform/windows.ml:1086 12 7 3 3 2 255.41 59.2
minipixels.platform.windows.wndProc src/minipixels/platform/windows.ml:463 23 20 7 7 2 624.02 49.78
minipixels.playAudio src/minipixels.ml:725 1 1 1 0 0 64.53 87.19
minipixels.playMusic src/minipixels.ml:693 1 1 1 0 0 44.38 88.33
minipixels.playMusicWithState src/minipixels.ml:705 1 1 1 0 0 62.27 87.3
minipixels.playSfx src/minipixels.ml:701 1 1 1 0 0 62.27 87.3
minipixels.playSound src/minipixels.ml:684 1 1 1 0 0 44.38 88.33
minipixels.playSoundLoop src/minipixels.ml:690 1 1 1 0 0 44.38 88.33
minipixels.playSoundSync src/minipixels.ml:687 1 1 1 0 0 44.38 88.33
minipixels.pointRect src/minipixels.ml:557 1 1 1 0 0 78.87 86.58
minipixels.popScene src/minipixels.ml:599 1 1 1 0 0 64.53 87.19
minipixels.preloadAssetPack src/minipixels.ml:459 1 1 1 0 0 64.53 87.19
minipixels.preloadAssetPackSlots src/minipixels.ml:455 1 1 1 0 0 81.41 86.49
minipixels.pushScene src/minipixels.ml:596 1 1 1 0 0 81.41 86.49
minipixels.random src/minipixels.ml:382 1 1 1 0 0 46.51 88.19
minipixels.recti src/minipixels.ml:379 1 1 1 0 0 96.21 85.98
minipixels.rectRect src/minipixels.ml:561 1 1 1 0 0 62.27 87.3
minipixels.registerScene src/minipixels.ml:585 4 3 2 1 1 146.95 71.42
minipixels.releasePackedAssetBytesSlot src/minipixels.ml:463 1 1 1 0 0 64.53 87.19
minipixels.rendererFallbackReason src/minipixels.ml:355 4 3 3 2 1 129.27 71.68
minipixels.renderSizeForClient src/minipixels.ml:239 27 28 12 15 2 1193.78 45.62
minipixels.renderTarget src/minipixels.ml:413 1 1 1 0 0 64.53 87.19
minipixels.renderToDesignX src/minipixels.ml:277 1 1 1 0 0 53.77 87.75
minipixels.renderToDesignY src/minipixels.ml:281 1 1 1 0 0 53.77 87.75
minipixels.rgb src/minipixels.ml:363 1 1 1 0 0 85.11 86.35
minipixels.rgba src/minipixels.ml:369 1 1 1 0 0 102.8 85.78
minipixels.run src/minipixels.ml:817 66 72 27 44 3 4485.25 31.11
minipixels.runHeadless src/minipixels.ml:783 27 31 13 16 2 1921.42 44.04
minipixels.saveCanvasPng src/minipixels.ml:499 1 1 1 0 0 109.39 85.59
minipixels.scene src/minipixels.ml:579 3 1 1 0 0 272.32 72.41
minipixels.scene.scene.callLifecycle src/minipixels/scene/scene.ml:176 3 2 2 1 1 109.39 75.05
minipixels.scene.scene.change src/minipixels/scene/scene.ml:256 19 20 6 5 1 948.29 50.45
minipixels.scene.scene.clear src/minipixels/scene/scene.ml:279 11 9 3 3 2 438.86 58.38
minipixels.scene.scene.create src/minipixels/scene/scene.ml:108 8 3 3 2 1 322.09 62.34
minipixels.scene.scene.current src/minipixels/scene/scene.ml:293 4 3 3 2 1 142.62 71.38
minipixels.scene.scene.ensureRegistryCapacity src/minipixels/scene/scene.ml:119 11 10 2 1 1 384.5 58.91
minipixels.scene.scene.ensureStackCapacity src/minipixels/scene/scene.ml:133 8 7 2 1 1 283.28 62.86
minipixels.scene.scene.enter src/minipixels/scene/scene.ml:183 3 2 2 1 1 108 75.09
minipixels.scene.scene.exitScene src/minipixels/scene/scene.ml:190 3 2 2 1 1 108 75.09
minipixels.scene.scene.find src/minipixels/scene/scene.ml:165 6 6 3 2 1 209.59 66.37
minipixels.scene.scene.pause src/minipixels/scene/scene.ml:197 3 2 2 1 1 108 75.09
minipixels.scene.scene.pop src/minipixels/scene/scene.ml:235 16 15 5 5 2 750.16 52.93
minipixels.scene.scene.push src/minipixels/scene/scene.ml:212 19 20 5 5 2 917.14 50.69
minipixels.scene.scene.register src/minipixels/scene/scene.ml:146 15 13 4 3 1 511.82 54.84
minipixels.scene.scene.renderStack src/minipixels/scene/scene.ml:312 16 14 9 12 3 741.4 52.43
minipixels.scene.scene.resume src/minipixels/scene/scene.ml:204 3 2 2 1 1 108 75.09
minipixels.scene.scene.scene src/minipixels/scene/scene.ml:102 3 1 1 0 0 285.4 72.26
minipixels.scene.scene.SceneStack.change src/minipixels/scene/scene.ml:64 3 1 1 0 0 101.58 75.41
minipixels.scene.scene.SceneStack.current src/minipixels/scene/scene.ml:82 3 1 1 0 0 56.47 77.19
minipixels.scene.scene.SceneStack.depth src/minipixels/scene/scene.ml:87 3 1 1 0 0 31.7 78.95
minipixels.scene.scene.SceneStack.pop src/minipixels/scene/scene.ml:77 3 1 1 0 0 83.76 75.99
minipixels.scene.scene.SceneStack.push src/minipixels/scene/scene.ml:71 3 1 1 0 0 101.58 75.41
minipixels.scene.scene.SceneStack.register src/minipixels/scene/scene.ml:57 3 1 1 0 0 86.04 75.91
minipixels.scene.scene.updateCurrent src/minipixels/scene/scene.ml:302 5 5 4 3 1 258.52 67.32
minipixels.setDesignResolution src/minipixels.ml:220 7 4 6 5 1 238.42 64.11
minipixels.setMaxFps src/minipixels.ml:326 7 5 4 4 2 175.69 65.31
minipixels.setMaxRenderPixels src/minipixels.ml:230 4 3 4 3 1 151.62 71.06
minipixels.setPauseWhenUnfocused src/minipixels.ml:336 4 3 2 1 1 104.25 72.47
minipixels.setRenderer src/minipixels.ml:157 4 3 2 1 1 89.86 72.92
minipixels.setScaleMode src/minipixels.ml:170 4 3 2 1 1 92 72.85
minipixels.setSmoothing src/minipixels.ml:319 4 3 2 1 1 92 72.85
minipixels.solidImage src/minipixels.ml:398 1 1 1 0 0 96.21 85.98
minipixels.spriteFromImage src/minipixels.ml:402 1 1 1 0 0 62.27 87.3
minipixels.spriteSheet src/minipixels.ml:409 1 1 1 0 0 114.22 85.46
minipixels.stopSound src/minipixels.ml:695 1 1 1 0 0 36 88.97
minipixels.syncRenderResolution src/minipixels.ml:284 30 30 10 9 1 1721.53 43.78
minipixels.textWidth src/minipixels.ml:681 1 1 1 0 0 62.27 87.3
minipixels.tileLayer src/minipixels.ml:546 1 1 1 0 0 175.14 84.16
minipixels.tilemap src/minipixels.ml:536 1 1 1 0 0 136 84.93
minipixels.tileMoveAndCollide src/minipixels.ml:552 1 1 1 0 0 98.99 85.89
minipixels.tileset src/minipixels.ml:528 1 1 1 0 0 68.11 87.03
minipixels.timer src/minipixels.ml:386 1 1 1 0 0 64.53 87.19
minipixels.tools.fsutil.bytesEqual src/minipixels/tools/fsutil.ml:65 9 10 7 7 2 408.63 59.96
minipixels.tools.fsutil.dirname src/minipixels/tools/fsutil.ml:41 8 8 3 2 1 343.13 62.14
minipixels.tools.fsutil.ensureDir src/minipixels/tools/fsutil.ml:52 9 9 7 7 2 329.71 60.61
minipixels.tools.fsutil.maxInt src/minipixels/tools/fsutil.ml:34 4 3 2 1 1 71.7 73.61
minipixels.tools.fsutil.mkdir src/minipixels/tools/fsutil.ml:22 4 3 2 1 1 124 71.94
minipixels.tools.fsutil.writeBytes src/minipixels/tools/fsutil.ml:78 12 13 7 7 2 625.13 55.94
minipixels.tools.fsutil.writeText src/minipixels/tools/fsutil.ml:94 11 11 6 6 2 498.57 57.59
minipixels.tools.generator.addError src/minipixels/tools/generator.ml:52 4 2 1 0 0 109.39 72.46
minipixels.tools.generator.addWarning src/minipixels/tools/generator.ml:45 3 1 1 0 0 85.11 75.94
minipixels.tools.generator.arrayField src/minipixels/tools/generator.ml:165 5 4 3 2 1 197.42 68.28
minipixels.tools.generator.assetHeight src/minipixels/tools/generator.ml:219 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.assetKind src/minipixels/tools/generator.ml:266 8 10 5 4 1 255.41 62.77
minipixels.tools.generator.assetLess src/minipixels/tools/generator.ml:118 13 13 5 6 2 544.36 55.87
minipixels.tools.generator.assetModule src/minipixels/tools/generator.ml:550 17 15 1 0 0 808.51 52.66
minipixels.tools.generator.assetPayload src/minipixels/tools/generator.ml:320 10 9 4 3 1 581.39 58.29
minipixels.tools.generator.assetsHeader src/minipixels/tools/generator.ml:509 36 32 3 2 1 1329.05 43.78
minipixels.tools.generator.assetsModule src/minipixels/tools/generator.ml:618 117 118 49 136 6 7722.66 21.07
minipixels.tools.generator.assetWidth src/minipixels/tools/generator.ml:213 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.colorPart src/minipixels/tools/generator.ml:185 7 7 4 3 1 360 63.13
minipixels.tools.generator.compactPayload src/minipixels/tools/generator.ml:377 10 13 6 5 1 520.13 58.36
minipixels.tools.generator.defaultOutDir src/minipixels/tools/generator.ml:59 4 2 1 0 0 155.32 71.39
minipixels.tools.generator.emitCollectionCount src/minipixels/tools/generator.ml:849 14 11 2 1 1 569.45 55.44
minipixels.tools.generator.emitCollectionField src/minipixels/tools/generator.ml:870 20 15 4 6 3 890.57 50.43
minipixels.tools.generator.emitLevelScalar src/minipixels/tools/generator.ml:785 21 16 3 3 2 769.22 50.55
minipixels.tools.generator.emitTileData src/minipixels/tools/generator.ml:809 35 28 8 13 4 1924.87 42.24
minipixels.tools.generator.generate src/minipixels/tools/generator.ml:1172 46 38 16 22 3 2345.74 37.98
minipixels.tools.generator.hasSheet src/minipixels/tools/generator.ml:477 3 1 1 0 0 70.31 76.52
minipixels.tools.generator.identifierBytes src/minipixels/tools/generator.ml:93 7 4 2 1 1 197.65 65.22
minipixels.tools.generator.identifierCode src/minipixels/tools/generator.ml:78 12 13 4 3 1 418.24 57.57
minipixels.tools.generator.integerDivide src/minipixels/tools/generator.ml:111 3 1 1 0 0 75.28 76.32
minipixels.tools.generator.join src/minipixels/tools/generator.ml:104 3 1 1 0 0 64.53 76.79
minipixels.tools.generator.jsonPoint src/minipixels/tools/generator.ml:962 3 1 1 0 0 147.15 74.28
minipixels.tools.generator.jsonTrue src/minipixels/tools/generator.ml:929 3 1 1 0 0 96 75.58
minipixels.tools.generator.levelField src/minipixels/tools/generator.ml:765 3 1 1 0 0 69.19 76.57
minipixels.tools.generator.levelsModule src/minipixels/tools/generator.ml:1078 73 68 8 10 3 4261.48 32.86
minipixels.tools.generator.levelsStubModule src/minipixels/tools/generator.ml:738 22 1 1 0 0 218.72 54.2
minipixels.tools.generator.loadJson src/minipixels/tools/generator.ml:1155 13 9 3 2 1 360.55 57.39
minipixels.tools.generator.normalizeTiled src/minipixels/tools/generator.ml:970 104 80 35 113 8 6005.57 24.84
minipixels.tools.generator.numberField src/minipixels/tools/generator.ml:150 3 1 1 0 0 102.8 75.37
minipixels.tools.generator.objectField src/minipixels/tools/generator.ml:174 5 4 3 2 1 178.81 68.58
minipixels.tools.generator.pointField src/minipixels/tools/generator.ml:774 5 4 2 1 1 261.34 67.56
minipixels.tools.generator.printResult src/minipixels/tools/generator.ml:1221 19 11 6 7 2 507.8 52.35
minipixels.tools.generator.quote src/minipixels/tools/generator.ml:66 3 1 1 0 0 41.21 78.15
minipixels.tools.generator.quotePath src/minipixels/tools/generator.ml:72 3 1 1 0 0 79.95 76.13
minipixels.tools.generator.renderProceduralPixels src/minipixels/tools/generator.ml:225 38 31 16 37 4 2396.02 39.72
minipixels.tools.generator.result src/minipixels/tools/generator.ml:38 3 1 1 0 0 71.7 76.47
minipixels.tools.generator.rlePayload src/minipixels/tools/generator.ml:333 41 35 13 25 4 1630.33 40.58
minipixels.tools.generator.runtimeAssetModule src/minipixels/tools/generator.ml:571 42 36 4 3 1 2373.18 40.42
minipixels.tools.generator.sheetHeight src/minipixels/tools/generator.ml:205 5 4 2 1 1 164.23 68.97
minipixels.tools.generator.sheetModule src/minipixels/tools/generator.ml:484 21 20 2 1 1 1167.28 49.41
minipixels.tools.generator.sheetWidth src/minipixels/tools/generator.ml:196 5 4 2 1 1 164.23 68.97
minipixels.tools.generator.sortedAssets src/minipixels/tools/generator.ml:134 11 8 4 6 3 423.93 58.35
minipixels.tools.generator.stringField src/minipixels/tools/generator.ml:158 3 1 1 0 0 102.8 75.37
minipixels.tools.generator.textCatalogPayload src/minipixels/tools/generator.ml:277 39 38 11 16 3 2246.27 40.35
minipixels.tools.generator.tiledLayerIsSolid src/minipixels/tools/generator.ml:935 5 4 5 4 1 299.56 66.74
minipixels.tools.generator.tiledNumber src/minipixels/tools/generator.ml:955 3 1 1 0 0 95.18 75.6
minipixels.tools.generator.tiledObjectKind src/minipixels/tools/generator.ml:943 7 8 4 3 1 389.72 62.89
minipixels.tools.generator.tiledProperty src/minipixels/tools/generator.ml:916 10 7 4 6 3 396.82 59.45
minipixels.tools.generator.validateLevels src/minipixels/tools/generator.ml:895 17 13 9 13 3 931.24 51.16
minipixels.tools.generator.writeAssetPack src/minipixels/tools/generator.ml:393 81 74 18 40 5 4067.17 30.68
minipixels.tools.json.advance src/minipixels/tools/json.ml:105 5 3 1 0 0 91.38 70.89
minipixels.tools.json.array src/minipixels/tools/json.ml:66 1 1 1 0 0 101.58 85.81
minipixels.tools.json.asBool src/minipixels/tools/json.ml:426 4 3 3 2 1 118.94 71.93
minipixels.tools.json.asNumber src/minipixels/tools/json.ml:418 4 3 3 2 1 118.94 71.93
minipixels.tools.json.asString src/minipixels/tools/json.ml:410 4 3 3 2 1 118.94 71.93
minipixels.tools.json.at src/minipixels/tools/json.ml:400 6 7 5 4 1 244.42 65.63
minipixels.tools.json.atEnd src/minipixels/tools/json.ml:92 3 1 1 0 0 64.53 76.79
minipixels.tools.json.bool src/minipixels/tools/json.ml:63 1 1 1 0 0 102.8 85.78
minipixels.tools.json.expect src/minipixels/tools/json.ml:164 8 5 2 1 1 178.38 64.27
minipixels.tools.json.get src/minipixels/tools/json.ml:380 9 10 6 6 2 380 60.31
minipixels.tools.json.has src/minipixels/tools/json.ml:393 3 1 1 0 0 77.71 76.22
minipixels.tools.json.isDigit src/minipixels/tools/json.ml:80 3 1 1 0 0 57.36 77.14
minipixels.tools.json.isHex src/minipixels/tools/json.ml:86 3 1 1 0 0 57.36 77.14
minipixels.tools.json.lenOf src/minipixels/tools/json.ml:433 6 7 4 3 1 224.01 66.03
minipixels.tools.json.lineCol src/minipixels/tools/json.ml:138 15 10 4 4 2 330.34 56.17
minipixels.tools.json.matchLiteral src/minipixels/tools/json.ml:221 7 7 3 2 1 302.61 63.79
minipixels.tools.json.null src/minipixels/tools/json.ml:54 1 1 1 0 0 98.99 85.89
minipixels.tools.json.number src/minipixels/tools/json.ml:60 1 1 1 0 0 102.8 85.78
minipixels.tools.json.object src/minipixels/tools/json.ml:70 1 1 1 0 0 108 85.63
minipixels.tools.json.parse src/minipixels/tools/json.ml:364 12 11 4 3 1 383.78 57.83
minipixels.tools.json.parseArrayValue src/minipixels/tools/json.ml:281 27 22 6 8 2 776.95 47.73
minipixels.tools.json.parseError src/minipixels/tools/json.ml:156 3 1 1 0 0 118.54 74.94
minipixels.tools.json.parseNumberValue src/minipixels/tools/json.ml:231 47 38 17 21 2 1648.01 38.71
minipixels.tools.json.parseObjectValue src/minipixels/tools/json.ml:311 34 31 8 12 2 1169.76 44.03
minipixels.tools.json.parser src/minipixels/tools/json.ml:74 3 1 1 0 0 64.53 76.79
minipixels.tools.json.parseStringValue src/minipixels/tools/json.ml:175 42 32 18 46 5 1553.02 39.82
minipixels.tools.json.parseValue src/minipixels/tools/json.ml:348 13 18 9 8 1 620.64 54.93
minipixels.tools.json.peek src/minipixels/tools/json.ml:98 4 3 2 1 1 104 72.47
minipixels.tools.json.setError src/minipixels/tools/json.ml:114 7 4 2 1 1 120.93 66.71
minipixels.tools.json.skipWhitespace src/minipixels/tools/json.ml:124 10 5 6 6 2 244.42 60.66
minipixels.tools.json.string src/minipixels/tools/json.ml:57 1 1 1 0 0 102.8 85.78
minipixels.tools.json.value src/minipixels/tools/json.ml:49 3 1 1 0 0 140.65 74.42
minipixels.tools.manifest.addError src/minipixels/tools/manifest.ml:50 3 1 1 0 0 85.11 75.94
minipixels.tools.manifest.addWarning src/minipixels/tools/manifest.ml:57 3 1 1 0 0 85.11 75.94
minipixels.tools.manifest.containsString src/minipixels/tools/manifest.ml:110 8 8 5 5 2 288.44 62.4
minipixels.tools.manifest.dirname src/minipixels/tools/manifest.ml:77 8 8 3 2 1 343.13 62.14
minipixels.tools.manifest.isValid src/minipixels/tools/manifest.ml:63 3 1 1 0 0 78.14 76.2
minipixels.tools.manifest.join src/minipixels/tools/manifest.ml:89 3 1 1 0 0 64.53 76.79
minipixels.tools.manifest.load src/minipixels/tools/manifest.ml:339 10 7 2 1 1 302.86 60.54
minipixels.tools.manifest.maxInt src/minipixels/tools/manifest.ml:70 4 3 2 1 1 71.7 73.61
minipixels.tools.manifest.newManifest src/minipixels/tools/manifest.ml:43 3 1 1 0 0 148.46 74.25
minipixels.tools.manifest.numberField src/minipixels/tools/manifest.ml:155 12 9 4 4 2 381.47 57.85
minipixels.tools.manifest.parseText src/minipixels/tools/manifest.ml:327 9 6 2 1 1 267.93 61.91
minipixels.tools.manifest.printReport src/minipixels/tools/manifest.ml:352 24 17 7 8 2 850.86 48.44
minipixels.tools.manifest.requireField src/minipixels/tools/manifest.ml:123 7 4 2 1 1 173.92 65.61
minipixels.tools.manifest.safeIdentifier src/minipixels/tools/manifest.ml:95 11 12 6 6 2 454 57.87
minipixels.tools.manifest.stringField src/minipixels/tools/manifest.ml:136 12 9 4 4 2 371.56 57.93
minipixels.tools.manifest.validateAsset src/minipixels/tools/manifest.ml:178 56 40 31 38 3 3083.63 33.27
minipixels.tools.manifest.validateAssets src/minipixels/tools/manifest.ml:238 14 12 5 4 1 528.54 55.26
minipixels.tools.manifest.validateLevels src/minipixels/tools/manifest.ml:256 13 10 5 4 1 493.31 56.17
minipixels.tools.manifest.validateRoot src/minipixels/tools/manifest.ml:273 45 42 19 25 3 2625.67 37.44
minipixels.tools.manifest.validCompressionProfile src/minipixels/tools/manifest.ml:170 3 1 1 0 0 85.11 75.94
minipixels.unbindAction src/minipixels.ml:662 1 1 1 0 0 64.53 87.19
minipixels.unloadPackedAsset src/minipixels.ml:503 1 1 1 0 0 64.53 87.19
minipixels.useCpuRenderer src/minipixels.ml:166 1 1 1 0 0 46.51 88.19
minipixels.useFitScale src/minipixels.ml:179 1 1 1 0 0 46.51 88.19
minipixels.useFixedRenderResolution src/minipixels.ml:187 8 5 6 5 1 261.34 62.57
minipixels.useGpuRenderer src/minipixels.ml:163 1 1 1 0 0 46.51 88.19
minipixels.useIntegerScale src/minipixels.ml:182 1 1 1 0 0 46.51 88.19
minipixels.useNativeRenderResolution src/minipixels.ml:197 7 4 2 1 1 106.27 67.11
minipixels.useScaledRenderResolution src/minipixels.ml:208 7 4 4 3 1 192.72 65.03
minipixels.useStretchScale src/minipixels.ml:176 1 1 1 0 0 46.51 88.19
minipixels.vec2 src/minipixels.ml:373 1 1 1 0 0 62.27 87.3
minipixels.version src/minipixels.ml:153 1 1 1 0 0 22.46 90.4
minipixels.world.camera.Camera.clampToWorld src/minipixels/world/camera.ml:31 3 1 1 0 0 58.81 77.07
minipixels.world.camera.Camera.follow src/minipixels/world/camera.ml:38 3 1 1 0 0 91.38 75.73
minipixels.world.camera.Camera.worldToScreenX src/minipixels/world/camera.ml:44 3 1 1 0 0 43.19 78.01
minipixels.world.camera.Camera.worldToScreenY src/minipixels/world/camera.ml:50 3 1 1 0 0 43.19 78.01
minipixels.world.camera.clampToWorld src/minipixels/world/camera.ml:73 12 11 4 3 1 507.65 56.98
minipixels.world.camera.create src/minipixels/world/camera.ml:58 3 1 1 0 0 107.55 75.23
minipixels.world.camera.follow src/minipixels/world/camera.ml:90 5 3 1 0 0 167.59 69.04
minipixels.world.camera.parallaxOffset src/minipixels/world/camera.ml:100 3 1 1 0 0 150.12 74.22
minipixels.world.camera.setWorld src/minipixels/world/camera.ml:66 4 2 1 0 0 77.71 73.5
minipixels.world.entity.create src/minipixels/world/entity.ml:46 3 1 1 0 0 200.16 73.34
minipixels.world.tilemap.addLayer src/minipixels/world/tilemap.ml:113 12 11 4 5 2 495.42 57.05
minipixels.world.tilemap.create src/minipixels/world/tilemap.ml:90 4 2 1 0 0 194.49 70.71
minipixels.world.tilemap.draw src/minipixels/world/tilemap.ml:176 5 2 2 1 1 169.46 68.88
minipixels.world.tilemap.drawLayer src/minipixels/world/tilemap.ml:140 29 27 7 15 4 1890 44.22
minipixels.world.tilemap.isSolidAtPixel src/minipixels/world/tilemap.ml:201 3 1 1 0 0 155.32 74.11
minipixels.world.tilemap.isSolidAtTile src/minipixels/world/tilemap.ml:186 10 8 8 10 3 415.47 58.77
minipixels.world.tilemap.layer src/minipixels/world/tilemap.ml:106 3 1 1 0 0 160 74.02
minipixels.world.tilemap.moveAndCollide src/minipixels/world/tilemap.ml:210 100 76 25 56 5 3840.46 27.91
minipixels.world.tilemap.tileAt src/minipixels/world/tilemap.ml:130 4 3 5 4 1 233.83 69.61
minipixels.world.tilemap.TileMap.addLayer src/minipixels/world/tilemap.ml:78 3 1 1 0 0 74.01 76.37
minipixels.world.tilemap.TileMap.draw src/minipixels/world/tilemap.ml:58 3 1 1 0 0 91.38 75.73
minipixels.world.tilemap.TileMap.isSolidAtPixel src/minipixels/world/tilemap.ml:72 3 1 1 0 0 91.38 75.73
minipixels.world.tilemap.TileMap.isSolidAtTile src/minipixels/world/tilemap.ml:65 3 1 1 0 0 91.38 75.73

Code duplication

A clone group is an exact sequence of 6 normalized, contiguous code lines found more than once. Comments and formatting whitespace are ignored. Duplicated-line totals count overlapping windows only once.

Found 18 clone group(s). At most 18 groups are shown.

Clone 1 — 2 occurrences
end if
names = array ( count )
kinds = array ( count , 0 )
codecs = array ( count , 0 )
offsets = array ( count , 0 )
sizes = array ( count , 0 )
Clone 2 — 2 occurrences
end if
names [ i ] = name
kinds [ i ] = kind
codecs [ i ] = codec
offsets [ i ] = offset
sizes [ i ] = size
Clone 3 — 2 occurrences
owners [ i ] = owner
else
owners [ i ] = i
blocks . set ( blockKey , i )
end if
end for
Clone 4 — 2 occurrences
else
owners [ i ] = i
blocks . set ( blockKey , i )
end if
end for
end if
Clone 5 — 2 occurrences
voice . clip = source
voice . playing = true
voice . volume = 100
voice . pan = 0
voice . cursor = 0.0
voice = openVoiceDecoder ( voice )
Clone 6 — 2 occurrences
voice . playing = true
voice . volume = 100
voice . pan = 0
voice . cursor = 0.0
voice = openVoiceDecoder ( voice )
if not voice . playing then
Clone 7 — 2 occurrences
xx = xx + 1
end while
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
c . spriteCount = c . spriteCount + 1
Clone 8 — 2 occurrences
end while
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
c . spriteCount = c . spriteCount + 1
c . drawCalls = c . drawCalls + 1
Clone 9 — 2 occurrences
yy = yy + 1
end while
markDirty ( c , x0 , y0 , x1 - x0 , y1 - y0 )
c . spriteCount = c . spriteCount + 1
c . drawCalls = c . drawCalls + 1
end function
Clone 10 — 2 occurrences
if w is not Window or width < 1 or height < 1 then return false end if
width = mt . floorInt ( width )
height = mt . floorInt ( height )
if w . logicalWidth == width and w . logicalHeight == height then return false end if
w . logicalWidth = width
w . logicalHeight = height
Clone 11 — 2 occurrences
return
end if
if input . actionCount > 0 then
for slot = 0 to input . actionCount - 1
primary = input . primaryKeys [ slot ]
secondary = input . secondaryKeys [ slot ]
Clone 12 — 2 occurrences
end if
if input . actionCount > 0 then
for slot = 0 to input . actionCount - 1
primary = input . primaryKeys [ slot ]
secondary = input . secondaryKeys [ slot ]
held = false
Clone 13 — 2 occurrences
function dirname ( path )
lastSlash = str . lastIndexOf ( path , "\\" )
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
Clone 14 — 2 occurrences
lastSlash = str . lastIndexOf ( path , "\\" )
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
return str . substr ( path , 0 , last )
Clone 15 — 2 occurrences
lastForward = str . lastIndexOf ( path , "/" )
last = maxInt ( lastSlash , lastForward )
if last < 0 then return "." end if
if last == 0 then return str . substr ( path , 0 , 1 ) end if
return str . substr ( path , 0 , last )
end function
Clone 16 — 2 occurrences
end for
code . appendLine ( "  return " + fallback )
code . appendLine ( "end function" )
code . appendLine ( "" )
return code . toString ( )
end function
Clone 17 — 2 occurrences
return
end if
p . pos = p . pos + 1
skipWhitespace ( p )
end while
return
Clone 18 — 2 occurrences
end if
p . pos = p . pos + 1
skipWhitespace ( p )
end while
return
end function

Definitions

  • Cognitive complexity: decision complexity weighted by nesting; logical and/or operators add one.
  • Cyclomatic complexity: one plus decisions from conditions, loops, switch cases, and logical and/or operators.
  • Documentation coverage: percentage of documented API summaries, parameter contracts, fields, constants, globals, and enum variants. Empty categories report 100% and do not affect the overall ratio.
  • Halstead metrics: operators and operands are counted from MiniLang lexical tokens. Estimated defects are volume divided by 3,000.
  • Maintainability index: normalized 0–100 index based on Halstead volume, cyclomatic complexity, and source lines. Project MI is source-line weighted across files.
  • SLOC: non-empty lines containing MiniLang tokens after conditional preprocessing; comment-only lines are excluded.