Skip to content

Instantly share code, notes, and snippets.

@philipturner
Created April 9, 2024 16:05
Show Gist options
  • Save philipturner/33bed8daf26fa29109dbe796cf978ba0 to your computer and use it in GitHub Desktop.
Save philipturner/33bed8daf26fa29109dbe796cf978ba0 to your computer and use it in GitHub Desktop.
import Foundation
let data = try! Data(contentsOf: URL(fileURLWithPath: "/Users/philipturner/Desktop/data.txt"))
print(data.count)
let inputString = String(data: data, encoding: .utf8)!
let inputLines = inputString.split(separator: "\n").map(String.init)
for line in inputLines {
let fragments = line.split(separator: " ").map(String.init)
guard fragments.count == 3 else {
fatalError("Unexpected fragment count.")
}
let numbers = fragments.map { Double($0)! }
let angle = numbers[0]
let intensity = numbers[1]
let FWHM = numbers[2]
let leftX = angle - FWHM / 2
let middleX = angle
let rightX = angle + FWHM / 2
let bottomY: Double = 0
let topY: Double = intensity
let reprLeftX = String(format: "%.2f", leftX)
let reprMiddleX = String(format: "%.2f", middleX)
let reprRightX = String(format: "%.2f", rightX)
let reprBottomY = String(format: "%.2f", bottomY)
let reprTopY = String(format: "%.2f", topY)
print(reprLeftX + ", " + reprBottomY)
print(reprLeftX + ", " + reprTopY)
print(reprMiddleX + ", " + reprTopY)
print(reprRightX + ", " + reprTopY)
print(reprRightX + ", " + reprBottomY)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment