<commit_before>// https://github.com/Quick/Quick

import Quick
import Nimble
import CGExtensions

class TableOfContentsSpec: QuickSpec {
    override func spec() {
        describe("these will pass") {
            
            it("can do maths") {
                expect(23) == 23
            }
            
            it("can read") {
                expect("🐮") == "🐮"
            }
            
            it("will eventually pass") {
                var time = "passing"
                
                DispatchQueue.main.async {
                    time = "done"
                }
                
                waitUntil { done in
                    Thread.sleep(forTimeInterval: 0.5)
                    expect(time) == "done"
                    
                    done()
                }
            }
            
        }
    }<commit_msg>Refersher on trigonometry<commit_after>// https://github.com/Quick/Quick

import Quick
import Nimble
import CGExtensions

class TableOfContentsSpec: QuickSpec {
    override func spec() {
        
        describe("these will pass") {
            it("can do maths") {
                expect(23) == 23
            }
            
            it("can read") {
                expect("🐮") == "🐮"
            }
            
            it("will eventually pass") {
                var time = "passing"
                
                DispatchQueue.main.async {
                    time = "done"
                }
                
                waitUntil { done in
                    Thread.sleep(forTimeInterval: 0.5)
                    expect(time) == "done"
                    
                    done()
                }
            }
        }
        
        describe("Geometry and trigonomitry refreshers") {
            it("checks cos()") {
                let c1 = cos(0.0)
                let c2 = cos(.pi / 2.0)
                let c3 = cos(CGFloat.pi)
                let c4 = cos(.pi * 1.5)
                let c5 = cos(.pi * 2.0)
                
                expect(c1) ≈ 1.0
                expect(c2) ≈ 0.0
                expect(c3) ≈ -1.0
                expect(c4) ≈ 0.0
                expect(c5) ≈ 1.0
            }
            
            it("checks sin()") {
                let s1 = sin(0.0)
                let s2 = sin(.pi / 2.0)
                let s3 = sin(CGFloat.pi)
                let s4 = sin(.pi * 1.5)
                let s5 = sin(.pi * 2.0)
                
                expect(s1) ≈ 0.0
                expect(s2) ≈ 1.0
                expect(s3) ≈ 0.0
                expect(s4) ≈ -1.0
                expect(s5) ≈ 0.0
            }
            
            it("checkes atan2()") {
                let a1 = atan2(0.0, 1.0)
                let a2 = atan2(1.0, 0.0)
                let a3 = atan2(0.0, -1.0)
                let a4 = atan2(-1.0, 0.0)
                
                let a5 = atan2(1.0, 1.0)
                let a6 = atan2(100.0, 100.0)
                
                expect(a1) ≈ 0.0
                expect(a2) ≈ CGFloat.pi / 2.0
                expect(a3) ≈ CGFloat.pi
                expect(a4) ≈ -CGFloat.pi / 2.0
                
                expect(a5) ≈ CGFloat.pi / 4.0
                expect(a6) ≈ CGFloat.pi / 4.0
            }
        }
        
    }
{'fraction_non_alphanumeric': 0.10793554271815141, 'fraction_numerical': 0.03800547278808148, 'mean_word_length': 0.7593582887700535, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7287118', 'n_tokens_mistral': 1060, 'n_tokens_neox': 949, 'n_words': 210}